package com.system.service.dao.model;

import java.util.ArrayList;
import java.util.List;

public class UserExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andU_idIsNull() {
            addCriterion("u_id is null");
            return (Criteria) this;
        }

        public Criteria andU_idIsNotNull() {
            addCriterion("u_id is not null");
            return (Criteria) this;
        }

        public Criteria andU_idEqualTo(String value) {
            addCriterion("u_id =", value, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_idNotEqualTo(String value) {
            addCriterion("u_id <>", value, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_idGreaterThan(String value) {
            addCriterion("u_id >", value, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_idGreaterThanOrEqualTo(String value) {
            addCriterion("u_id >=", value, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_idLessThan(String value) {
            addCriterion("u_id <", value, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_idLessThanOrEqualTo(String value) {
            addCriterion("u_id <=", value, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_idLike(String value) {
            addCriterion("u_id like", value, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_idNotLike(String value) {
            addCriterion("u_id not like", value, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_idIn(List<String> values) {
            addCriterion("u_id in", values, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_idNotIn(List<String> values) {
            addCriterion("u_id not in", values, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_idBetween(String value1, String value2) {
            addCriterion("u_id between", value1, value2, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_idNotBetween(String value1, String value2) {
            addCriterion("u_id not between", value1, value2, "u_id");
            return (Criteria) this;
        }

        public Criteria andU_nameIsNull() {
            addCriterion("u_name is null");
            return (Criteria) this;
        }

        public Criteria andU_nameIsNotNull() {
            addCriterion("u_name is not null");
            return (Criteria) this;
        }

        public Criteria andU_nameEqualTo(String value) {
            addCriterion("u_name =", value, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_nameNotEqualTo(String value) {
            addCriterion("u_name <>", value, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_nameGreaterThan(String value) {
            addCriterion("u_name >", value, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_nameGreaterThanOrEqualTo(String value) {
            addCriterion("u_name >=", value, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_nameLessThan(String value) {
            addCriterion("u_name <", value, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_nameLessThanOrEqualTo(String value) {
            addCriterion("u_name <=", value, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_nameLike(String value) {
            addCriterion("u_name like", value, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_nameNotLike(String value) {
            addCriterion("u_name not like", value, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_nameIn(List<String> values) {
            addCriterion("u_name in", values, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_nameNotIn(List<String> values) {
            addCriterion("u_name not in", values, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_nameBetween(String value1, String value2) {
            addCriterion("u_name between", value1, value2, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_nameNotBetween(String value1, String value2) {
            addCriterion("u_name not between", value1, value2, "u_name");
            return (Criteria) this;
        }

        public Criteria andU_mailIsNull() {
            addCriterion("u_mail is null");
            return (Criteria) this;
        }

        public Criteria andU_mailIsNotNull() {
            addCriterion("u_mail is not null");
            return (Criteria) this;
        }

        public Criteria andU_mailEqualTo(String value) {
            addCriterion("u_mail =", value, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_mailNotEqualTo(String value) {
            addCriterion("u_mail <>", value, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_mailGreaterThan(String value) {
            addCriterion("u_mail >", value, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_mailGreaterThanOrEqualTo(String value) {
            addCriterion("u_mail >=", value, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_mailLessThan(String value) {
            addCriterion("u_mail <", value, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_mailLessThanOrEqualTo(String value) {
            addCriterion("u_mail <=", value, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_mailLike(String value) {
            addCriterion("u_mail like", value, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_mailNotLike(String value) {
            addCriterion("u_mail not like", value, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_mailIn(List<String> values) {
            addCriterion("u_mail in", values, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_mailNotIn(List<String> values) {
            addCriterion("u_mail not in", values, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_mailBetween(String value1, String value2) {
            addCriterion("u_mail between", value1, value2, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_mailNotBetween(String value1, String value2) {
            addCriterion("u_mail not between", value1, value2, "u_mail");
            return (Criteria) this;
        }

        public Criteria andU_phoneIsNull() {
            addCriterion("u_phone is null");
            return (Criteria) this;
        }

        public Criteria andU_phoneIsNotNull() {
            addCriterion("u_phone is not null");
            return (Criteria) this;
        }

        public Criteria andU_phoneEqualTo(String value) {
            addCriterion("u_phone =", value, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_phoneNotEqualTo(String value) {
            addCriterion("u_phone <>", value, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_phoneGreaterThan(String value) {
            addCriterion("u_phone >", value, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_phoneGreaterThanOrEqualTo(String value) {
            addCriterion("u_phone >=", value, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_phoneLessThan(String value) {
            addCriterion("u_phone <", value, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_phoneLessThanOrEqualTo(String value) {
            addCriterion("u_phone <=", value, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_phoneLike(String value) {
            addCriterion("u_phone like", value, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_phoneNotLike(String value) {
            addCriterion("u_phone not like", value, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_phoneIn(List<String> values) {
            addCriterion("u_phone in", values, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_phoneNotIn(List<String> values) {
            addCriterion("u_phone not in", values, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_phoneBetween(String value1, String value2) {
            addCriterion("u_phone between", value1, value2, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_phoneNotBetween(String value1, String value2) {
            addCriterion("u_phone not between", value1, value2, "u_phone");
            return (Criteria) this;
        }

        public Criteria andU_passwdIsNull() {
            addCriterion("u_passwd is null");
            return (Criteria) this;
        }

        public Criteria andU_passwdIsNotNull() {
            addCriterion("u_passwd is not null");
            return (Criteria) this;
        }

        public Criteria andU_passwdEqualTo(String value) {
            addCriterion("u_passwd =", value, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdNotEqualTo(String value) {
            addCriterion("u_passwd <>", value, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdGreaterThan(String value) {
            addCriterion("u_passwd >", value, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdGreaterThanOrEqualTo(String value) {
            addCriterion("u_passwd >=", value, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdLessThan(String value) {
            addCriterion("u_passwd <", value, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdLessThanOrEqualTo(String value) {
            addCriterion("u_passwd <=", value, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdLike(String value) {
            addCriterion("u_passwd like", value, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdNotLike(String value) {
            addCriterion("u_passwd not like", value, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdIn(List<String> values) {
            addCriterion("u_passwd in", values, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdNotIn(List<String> values) {
            addCriterion("u_passwd not in", values, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdBetween(String value1, String value2) {
            addCriterion("u_passwd between", value1, value2, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdNotBetween(String value1, String value2) {
            addCriterion("u_passwd not between", value1, value2, "u_passwd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdIsNull() {
            addCriterion("u_passwdrd is null");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdIsNotNull() {
            addCriterion("u_passwdrd is not null");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdEqualTo(String value) {
            addCriterion("u_passwdrd =", value, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdNotEqualTo(String value) {
            addCriterion("u_passwdrd <>", value, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdGreaterThan(String value) {
            addCriterion("u_passwdrd >", value, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdGreaterThanOrEqualTo(String value) {
            addCriterion("u_passwdrd >=", value, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdLessThan(String value) {
            addCriterion("u_passwdrd <", value, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdLessThanOrEqualTo(String value) {
            addCriterion("u_passwdrd <=", value, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdLike(String value) {
            addCriterion("u_passwdrd like", value, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdNotLike(String value) {
            addCriterion("u_passwdrd not like", value, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdIn(List<String> values) {
            addCriterion("u_passwdrd in", values, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdNotIn(List<String> values) {
            addCriterion("u_passwdrd not in", values, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdBetween(String value1, String value2) {
            addCriterion("u_passwdrd between", value1, value2, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_passwdrdNotBetween(String value1, String value2) {
            addCriterion("u_passwdrd not between", value1, value2, "u_passwdrd");
            return (Criteria) this;
        }

        public Criteria andU_addressIsNull() {
            addCriterion("u_address is null");
            return (Criteria) this;
        }

        public Criteria andU_addressIsNotNull() {
            addCriterion("u_address is not null");
            return (Criteria) this;
        }

        public Criteria andU_addressEqualTo(String value) {
            addCriterion("u_address =", value, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_addressNotEqualTo(String value) {
            addCriterion("u_address <>", value, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_addressGreaterThan(String value) {
            addCriterion("u_address >", value, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_addressGreaterThanOrEqualTo(String value) {
            addCriterion("u_address >=", value, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_addressLessThan(String value) {
            addCriterion("u_address <", value, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_addressLessThanOrEqualTo(String value) {
            addCriterion("u_address <=", value, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_addressLike(String value) {
            addCriterion("u_address like", value, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_addressNotLike(String value) {
            addCriterion("u_address not like", value, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_addressIn(List<String> values) {
            addCriterion("u_address in", values, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_addressNotIn(List<String> values) {
            addCriterion("u_address not in", values, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_addressBetween(String value1, String value2) {
            addCriterion("u_address between", value1, value2, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_addressNotBetween(String value1, String value2) {
            addCriterion("u_address not between", value1, value2, "u_address");
            return (Criteria) this;
        }

        public Criteria andU_ageIsNull() {
            addCriterion("u_age is null");
            return (Criteria) this;
        }

        public Criteria andU_ageIsNotNull() {
            addCriterion("u_age is not null");
            return (Criteria) this;
        }

        public Criteria andU_ageEqualTo(String value) {
            addCriterion("u_age =", value, "u_age");
            return (Criteria) this;
        }

        public Criteria andU_ageNotEqualTo(String value) {
            addCriterion("u_age <>", value, "u_age");
            return (Criteria) this;
        }

        public Criteria andU_ageGreaterThan(String value) {
            addCriterion("u_age >", value, "u_age");
            return (Criteria) this;
        }

        public Criteria andU_ageGreaterThanOrEqualTo(String value) {
            addCriterion("u_age >=", value, "u_age");
            return (Criteria) this;
        }

        public Criteria andU_ageLessThan(String value) {
            addCriterion("u_age <", value, "u_age");
            return (Criteria) this;
        }

        public Criteria andU_ageLessThanOrEqualTo(String value) {
            addCriterion("u_age <=", value, "u_age");
            return (Criteria) this;
        }

        public Criteria andU_ageLike(String value) {
            addCriterion("u_age like", value, "u_age");
            return (Criteria) this;
        }

        public Criteria andU_ageNotLike(String value) {
            addCriterion("u_age not like", value, "u_age");
            return (Criteria) this;
        }

        public Criteria andU_ageIn(List<String> values) {
            addCriterion("u_age in", values, "u_age");
            return (Criteria) this;
        }

        public Criteria andU_ageNotIn(List<String> values) {
            addCriterion("u_age not in", values, "u_age");
            return (Criteria) this;
        }

        public Criteria andU_ageBetween(String value1, String value2) {
            addCriterion("u_age between", value1, value2, "u_age");
            return (Criteria) this;
        }

        public Criteria andU_ageNotBetween(String value1, String value2) {
            addCriterion("u_age not between", value1, value2, "u_age");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}